home *** CD-ROM | disk | FTP | other *** search
/ Aminet 39 / Aminet 39 (2000)(Schatztruhe)[!][Oct 2000].iso / Aminet / dev / basic / GFA_CLI.lha / GFA_CLI / COMMANDLINE.LST < prev    next >
Encoding:
File List  |  1999-02-05  |  957 b   |  55 lines

  1. DIM arg$(127)
  2. REM *** für mehr Argumente ist ggf. RESERVE nötig ***
  3. i%=@numargs
  4. END
  5. FUNCTION commandline$
  6.   DIM m%(16)
  7.   d$="dos.library"+CHR$(0)
  8.   d%=V:d$
  9.   db%=OpenLibrary(d%,36)
  10.   c$=""
  11.   IF db%<>0
  12.     m%(6)=db%
  13.     RCALL db%-534,m%()
  14.     c%=m%(0)
  15.     c$=CHAR{c%}
  16.     ~CloseLibrary(db%)
  17.   ENDIF
  18.   ERASE m%()
  19.   IF RIGHT$(c$,1)=CHR$(10)
  20.     c$=LEFT$(c$,LEN(c$)-1)
  21.   ENDIF
  22.   c$=TRIM$(c$)
  23.   RETURN c$
  24. ENDFUNC
  25. FUNCTION numargs
  26.   FOR t%=1 TO 127
  27.     arg$(t%)=""
  28.   NEXT t%
  29.   dummy%=0
  30.   quote%=0
  31.   arg$=" "+@commandline$
  32.   FOR t%=2 TO LEN(arg$)
  33.     a$=MID$(arg$,t%,1)
  34.     IF a$=CHR$(34)
  35.       IF (quote%=0)
  36.         quote%=-1
  37.         dummy%=dummy%+1
  38.       ELSE
  39.         quote%=0
  40.       ENDIF
  41.     ELSE
  42.       IF a$=" " AND quote%=0
  43.         a$=""
  44.       ENDIF
  45.       IF ((MID$(arg$,t%-1,1)=" ") AND (quote%=0) AND (a$<>""))
  46.         INC dummy%
  47.       ENDIF
  48.       IF a$<>CHR$(34)
  49.         arg$(dummy%)=arg$(dummy%)+a$
  50.       ENDIF
  51.     ENDIF
  52.   NEXT t%
  53.   RETURN dummy%
  54. ENDFUNC
  55.